package cn.b.sky.mes.andon.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.andon.model.AndonAccount;
import cn.b.sky.mes.andon.model.condition.AndonAccountCondition;

public interface AndonAccountDao {

	/**
	 * 
	 * <strong>Title : selectAndonAccountListByCondition<br></strong>
	 * <strong>Description : </strong>根据条件查询物流台账类别<br> 
	 * <strong>Create on : 2016-8-18 下午6:36:09<br></strong>
	 * <p>
	 * @param condition
	 * @return
	 * List<AndonAccount>
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	List<AndonAccount> selectAndonAccountListByCondition (AndonAccountCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectAndonAccountCountByCondition<br></strong>
	 * <strong>Description : </strong>根据条件查询物流台账类别记录<br> 
	 * <strong>Create on : 2016-8-18 下午6:36:49<br></strong>
	 * <p>
	 * @param condition
	 * @return
	 * int
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	int selectAndonAccountCountByCondition (AndonAccountCondition condition);
	/**
	 * 
	 * <strong>Title : getAndonAccount<br></strong>
	 * <strong>Description : </strong>根据条件查询物流ANDON台賬类别信息<br> 
	 * <strong>Create on : 2016-8-20 下午8:49:09<br></strong>
	 * <p>
	 * @param siteCode
	 * @param materialCode
	 * @return
	 * AndonAccount
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	AndonAccount getAndonAccount(@Param("siteCode")String siteCode,@Param("andonCode")String andonCode);
	
	/**
	 * 
	 * <strong>Title : insertAndonAccount<br></strong>
	 * <strong>Description : </strong>添加物流andonAccount台账信息<br> 
	 * <strong>Create on : 2016-8-22 上午10:55:44<br></strong>
	 * <p>
	 * @param andonAccount
	 * void
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	void insertAndonAccount(AndonAccount andonAccount);
	
	/**
	 * 
	 * <strong>Title : updateAndonType<br>修改物流andonAccount台账信息</strong>
	 * <strong>Description : </strong><br> 
	 * <strong>Create on : 2016-8-22 下午2:27:04<br></strong>
	 * <p>
	 * @param andonType
	 * void
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	void updateAndonAccount(AndonAccount andonAccount);
	
	/**
	 * 
	 * <strong>Title : deleteAndonAccount<br></strong>
	 * <strong>Description : </strong>删除物流andonAccount台账信息<br> 
	 * <strong>Create on : 2016-8-22 下午7:02:31<br></strong>
	 * <p>
	 * @param siteCode
	 * @param materialCode
	 * void
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	void deleteAndonAccount(@Param("siteCode")String siteCode,@Param("andonCode")String andonCode);
	/**
	 * 
	 * <strong>Title : updateAndonTypeStatus<br></strong>
	 * <strong>Description : </strong>修改物流台账类别状态<br> 
	 * <strong>Create on : 2016-8-23 下午4:29:03<br></strong>
	 * <p>
	 * @param andonType
	 * void
	 * @throws 
	 * @author ZhiPeng.Tong<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	void updateAndonAccountStatus(AndonAccount andonAccount);

	/**
	 * 
	 * <strong>Title : getMaterialCodeByAndonType<br></strong>
	 * <strong>Description : </strong>获取安灯类型下物料号<br> 
	 * <strong>Create on : 2016-8-26 下午1:17:07<br></strong>
	 * <p>
	 * @param siteCode
	 * @param andonTypeCode
	 * @return
	 * List<AndonAccount>
	 * @throws 
	 * @author JinQuan.Fu<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
  List<AndonAccount> getMaterialCodeByAndonType(@Param("siteCode")String siteCode, @Param("andonTypeCode")String andonTypeCode);
}
